home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / share / lftp / convert-netscape-cookies next >
Text File  |  2009-10-13  |  1KB  |  38 lines

  1. #!/usr/bin/perl
  2. # Copyright (c) 2001,2005,2007 Alexander V. Lukyanov <lav@yars.free.net>
  3. # See COPYING file (GNU GPL) for complete license.
  4.  
  5. # This script converts netscape-style cookies to lftp set commands.
  6.  
  7. use strict;
  8.  
  9. my $file=$ARGV[0] if defined $ARGV[0];
  10. $file=qx{
  11.     ls -t \$HOME/.netscape/cookies \\
  12.           `find \$HOME/.mozilla -name cookies.txt` | head -1
  13. },chomp $file if !defined $file;
  14.  
  15. open COOKIES,'<',$file or die "open($file): $!";
  16. print "# converted from $file\n";
  17. my %cookie;
  18. while(<COOKIES>)
  19. {
  20.    chomp;
  21.    next if /^#/ or /^$/;
  22.    s/"/\\"/g;
  23.    s/ /%20/g;
  24.    my ($domain,undef,$path,$secure_bool,$expires,$name,$value)=split /\t/;
  25.    my $secure='';
  26.    $secure=';secure' if $secure_bool eq 'TRUE';
  27.    $domain="*$domain" if $domain =~ /^\./;
  28.    $path='' if $path eq '/';
  29.    $path=";path=$path" if $path ne '';
  30.    $value="=$value" if $name ne '';
  31.    $cookie{"$domain$path$secure"}.=" $name$value";
  32. }
  33. foreach(sort keys %cookie)
  34. {
  35.    $cookie{$_}=~s/^ //;
  36.    print "set http:cookie/$_ \"$cookie{$_}\"\n";
  37. }
  38.